Many companies allow users to access internal corporate networks and resources externally. One such method uses a Virtual Private Network (VPN) connection. In a typical scenario, a user working on a remote computer connects to the Internet and initiates a client side VPN program. The VPN program uses an acceptable networking protocol to access a company's VPN gateway computer. The gateway computer, e.g., a VPN server, authenticates the user and establishes a remote networking session for the remote user. One benefit of such a VPN session is that the remote user's computer appears to be directly to the company's network.
Internal corporate networks are usually buffered or isolated from the external network or Internet, for security reasons. Internet traffic into, and out of, the Internal network may be filtered based on the corporation's security policy. Security policies may restrict file and databases access, or may limit or prohibit access to any corporate resource, for computers having unlimited Internet access. For example, only certain users, or computers, may be allowed to establish external network connections and communicate with the outside world; however, these computers may be precluded from accessing databases that store client data. This is done to protect corporate resources and computers from the viruses and other threats that exist. Other security policies may require verification and compliance with corporate security checks prior to logging on to the internal network.
This form of internal isolation is typically adequate where no remote users are allowed to connect to the internal corporate network. However, there is a fundamental problem with allowing remote users access to internal corporate resources while enforcing the requirements of the corporate security policy. This is evident in that a remote computer typically accesses the Internet with no filter, or simply a firewall, in place. In this situation, when a remote computer connects to a corporate server through a VPN connection, the corporation cannot enforce its internal security policy on the client computer. Thus, the remote computer is able to access critical data, i.e., it appears to be directly connected to the internal network, without meeting the same internal security requirements, and without being buffered from external threats. This is a concern for corporate security in that compromised remote computers would gain unrestricted access to the corporate network.
This danger may be mitigated if the remote computer was properly protected and not compromised while using the VPN. However, since the remote computer is not under direct control of corporation, this cannot be ensured with current client-driven security methods.
Various attempts have been implemented to address these issues, however, none fully provide strict adherence to the corporate security policy. Most solutions rely on client computer security policies, or client implemented enforcement of a security policy, before allowing VPN access. For example, many VPN client programs check for the presence of a virus scanner and, possibly, a personal firewall on the remote client's machine. This information may be useful to the server, but it does not ensure that a client computer is not compromised. Moreover, certain viruses may circumvent virus checkers and firewalls, or a remote computer may become compromised during an active VPN session.
Other security checks may be run on the client computer, such as verifying up to date virus definitions, or ensuring that security programs, such as BlackICE™ family of products, are present. However, these solutions still rely on client-initiated verification, and the client verified information is presented to the server. In the event that the client computer is compromised, inaccurate information may be passed to the server.
Therefore, there remains a need for systems and methods for verifying the configuration state of a remote computer before allowing the remote computer to access the internal network.